package br.com.vendaweb.integracao.entidade;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;

@Entity
public class Usuario implements Entidade {

	/**
	 * @uml.property  name="id"
	 */
	@Id
	@SequenceGenerator(name="sq_usuario", sequenceName="sq_usuario", initialValue=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sq_usuario")
	private Long id;

	/**
	 * @uml.property  name="perfil"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
	@ManyToOne
	private Perfil perfil = new Perfil();

	/**
	 * @uml.property  name="nome"
	 */
	@Column
	private String nome;

	/**
	 * @uml.property  name="cpf"
	 */
	@Column
	private String cpf;

	/**
	 * Getter of the property <tt>cpf</tt>
	 * @return   Returns the cpf.
	 * @uml.property  name="cpf"
	 */
	public String getCpf() {
		return cpf;
	}

	/**
	 * Getter of the property <tt>id</tt>
	 * @return   Returns the id.
	 * @uml.property  name="id"
	 */
	public Long getId() {
		return id;
	}

	/**
	 * Getter of the property <tt>nome</tt>
	 * @return   Returns the nome.
	 * @uml.property  name="nome"
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * Getter of the property <tt>perfil</tt>
	 * @return   Returns the perfil.
	 * @uml.property  name="perfil"
	 */
	public Perfil getPerfil() {
		return perfil;
	}

	/**
	 * Setter of the property <tt>cpf</tt>
	 * @param cpf   The cpf to set.
	 * @uml.property  name="cpf"
	 */
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	/**
	 * Setter of the property <tt>id</tt>
	 * @param id   The id to set.
	 * @uml.property  name="id"
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * Setter of the property <tt>nome</tt>
	 * @param nome   The nome to set.
	 * @uml.property  name="nome"
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	/**
	 * Setter of the property <tt>perfil</tt>
	 * @param perfil   The perfil to set.
	 * @uml.property  name="perfil"
	 */
	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}

	/**
	 * @uml.property  name="telefone"
	 */
	private String telefone;

	/**
	 * Getter of the property <tt>telefone</tt>
	 * @return   Returns the telefone.
	 * @uml.property  name="telefone"
	 */
	public String getTelefone() {
		return telefone;
	}

	/**
	 * Setter of the property <tt>telefone</tt>
	 * @param telefone   The telefone to set.
	 * @uml.property  name="telefone"
	 */
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

}
